// 引入医护人员服务
const staffService = require('../../services/staff');

Page({
  data: {},

  // 医护人员登录
  staffLogin(e) {
    const { phone, password } = e.detail.value;

    // 参数验证
    if (!phone || !password) {
      wx.showToast({
        title: '请输入手机号和密码',
        icon: 'none'
      });
      return;
    }

    // 验证手机号格式
    if (!/^1\d{10}$/.test(phone)) {
      wx.showToast({
        title: '请输入正确的手机号',
        icon: 'none'
      });
      return;
    }

    // 显示加载中
    wx.showLoading({
      title: '登录中...',
      mask: true
    });

    // 调用登录接口
    staffService.login({
      phone,
      password
    }).then(result => {
      console.log('医护人员登录成功，返回数据:', result);
      
      // 兼容新的响应结构
      let staffData;
      
      // 情况1：标准结构返回 result.data
      if (result.code === 200 && result.data) {
        staffData = result.data;
      } 
      // 情况2：直接返回数据
      else if (!result.code) {
        staffData = result;
      }
      
      console.log('处理后的医护人员数据:', staffData);
      
      // 确保token存在
      if (!staffData || !staffData.token) {
        console.error('登录返回数据中没有token或数据格式不正确');
        throw new Error('登录失败，请重试');
      }
      
      // 保存医护人员信息和token
      getApp().saveStaffInfo(staffData.token, staffData.staff);
      
      // 隐藏加载中
      wx.hideLoading();
      
      // 跳转到医生首页
      wx.reLaunch({
        url: '/pages/staff/home/index'
      });
    }).catch(err => {
      console.error('登录失败', err);
      wx.hideLoading();
      wx.showToast({
        title: err.message || '登录失败，请重试',
        icon: 'none'
      });
    });
  },
  
  // 直接跳转到注册页面
  goToRegister() {
    wx.navigateTo({
      url: '/pages/login/staff-register',
      fail: function(err) {
        console.error('跳转到注册页面失败', err);
        wx.showToast({
          title: '跳转失败，请重试',
          icon: 'none'
        });
      }
    });
  }
}); 